package com.pro.mapper;

import com.pro.pojo.JsCourse;
import com.pro.pojo.JsMonthCount;
import com.pro.pojo.JsProduct;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface JsCourseMapper {

    /*课程列表*/
    public List<JsCourse> getTable(JsCourse jsProduct);
    /*课程审核记录*/
    public List<JsCourse> getTable2(JsCourse jsProduct);
    /*详细条件检索*/
    public List<JsCourse> getTable3(JsCourse jsProduct);
    /*查看单个课程信息*/
    public JsCourse getCourse(Integer id);
    /*添加课程*/
    public Boolean addProduct(JsCourse jsProduct);
    /*编辑课程*/
    public Boolean updateProduct(JsCourse jsProduct);
    /*删除课程*/
    public Boolean delCourse1(Integer productId);
    public Boolean delCourse2(Integer productId);
    /*课程个数*/
    public int count(JsCourse jsProduct);
    /*查看课程日志*/
    List<JsCourse> getCoursejournal(Integer courseId);
    /*查看所有的课程日志*/
    List<JsCourse> getAllJournal(Integer courseId,String courseName,String updateDate);
    /*更新课程状态*/
    Boolean updateCourseStatus(@Param("courseStatus") String courseStatus, @Param("id") Integer id);
    /*获取审核详情*/
    List<JsCourse> getRecord(@Param("courseId")Integer courseId,@Param("aduitLogType")Integer aduitLogType,@Param("userName")String userName,@Param("createDate")String createDate);
    /*修改课程的详细信息*/
    Boolean updateCourse(JsCourse jscourse);
    /*审核课程*/
    Boolean updateCstatus(JsCourse jscourse);
    /*添加审核日志 */
    Boolean addRecord(JsCourse jscourse);
    /*添加一门课程*/
    Boolean addCourse(JsCourse jscourse);
    /*操作记录列表*/
    List<JsCourse> getLog(@Param("userName")String userName,@Param("type")Integer type,@Param("tableName")String tableName,@Param("createDate")String createDate,@Param("userId")Integer userId);
    /*添加一条操作记录*/
    Boolean addLog(JsCourse jscourse);
    /*删除一条操作记录*/
    Boolean delLog(Integer id);
    /*获取课程类别*/
    List<JsCourse> getCourseClass();
    /*添加历史价格*/
    Boolean addJournal(JsCourse jscourse);
    /**
     *
     * @author ZPT
     * @date 2021/12/5 20:14
     * @content :视频总数
     */
    int sum();
    /**
     *
     * @author ZPT
     * @date 2021/12/5 20:25
     * @content :视频浏览总数
     */
    int lookSum();
    /**
     *
     * @author ZPT
     * @date 2021/12/5 20:34
     * @content :视频收藏量
     */
    int collectSum();
    /**
     *
     * @author ZPT
     * @date 2021/12/5 20:34
     * @content :视频点赞量
     */
    int likeNum();
    /**
     *
     * @author ZPT
     * @date 2021/12/6 11:46
     * @content :课程上架量
     */
    int courseStatus();
    /**
     *
     * @author ZPT
     * @date 2021/12/20 19:39
     * @content :每个小时内的创建总数
     */
    @MapKey("dateFor")
    Map<String, String> courseHourCount();
    /**
     *
     * @author ZPT
     * @date 2021/12/6 18:37
     * @content :本周每天的课程量
     */
    List<JsMonthCount> courseWeekCount();
    /**
     *
     * @author ZPT
     * @date 2021/12/20 19:58
     * @content :根据课程创建时间统计课程数量
     */
    @MapKey("dateFor")
    Map<String, String> getCourseDate(String dateType);

}
